Add dispatch_states to decouple dispatch from agent lifecycle#3
Merged
Add dispatch_states to decouple dispatch from agent lifecycle#3
Conversation
…ycle active_states previously controlled both which issues get new agents and which states keep running agents alive. This adds dispatch_states so operators can restrict new agent dispatch to early pipeline states while keeping agents alive through later states like Code Review or On Staging. When dispatch_states is unset, behavior is unchanged.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Context
Symphony users need to restrict new agent dispatch to early pipeline states while keeping running agents alive through later review/staging states without manually stopping them.
TL;DR
Added
dispatch_statesconfig to separate which states can receive new agents from which states keep running agents alive.Summary
tracker.dispatch_statesconfig option to restrict new agent dispatchdispatch_statesis set, only issues in those states get new agentsactive_statescontinues to govern agent lifecycle — running agents stay alive if an issue moves to an active state that's not indispatch_statesdispatch_statesdefaults toactive_statesfor backward compatibilityAlternatives
Could have added separate
no_dispatch_statesbutdispatch_statesis simpler — operators configure what they DO want rather than what they don't.Test Plan
mix compile --warnings-as-errorsmix test— all 199 tests passdispatch_states: "Todo, In Progress"andactive_states: "Todo, In Progress, Code Review, On Staging"